﻿#region Using namespaces

using System;
using System.Collections.Generic;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Data.SQLite;
using System.Linq;
using System.Text;

using BOL.Apps.GeneNetworkBrowser.Properties;

#endregion

namespace BOL.Apps.GeneNetworkBrowser.Databases
{
    [Database]
    public class Annotations_Human : DataContext
    {
        public Annotations_Human()
            : base(new SQLiteConnection(Settings.Default.Annotations_Human)) { }

        public Table<GeneInfo> GeneInfo;
        public Table<GeneOntology> GeneOntology;
        public Table<GeneType> GeneType;
        public Table<Symbol2ID> Symbol2ID;
    }

    [Table]
    public class GeneInfo
    {
        [Column]
        public int ID { get; set; }
        [Column]
        public string Symbol { get; set; }
        [Column]
        public string Alternatives { get; set; }
        [Column]
        public string Chromosome { get; set; }
        [Column]
        public string Cytoband { get; set; }
        [Column]
        public string FullName { get; set; }
        [Column]
        public short GeneType { get; set; }
        [Column]
        public string OtherIDs { get; set; }
    }

    [Table]
    public class GeneOntology
    {
        [Column]
        public int ID { get; set; }
        [Column]
        public string GOID { get; set; }
        [Column]
        public short Category { get; set; }
        [Column]
        public short Level { get; set; }
    }

    [Table]
    public class GeneType
    {
        [Column]
        public short ID { get; set; }
        [Column]
        public string Name { get; set; }
    }

    [Table]
    public class Symbol2ID
    {
        [Column]
        public string Symbol { get; set; }
        [Column]
        public int ID { get; set; }
    }
}
